Software application products are getting more complicated with the consequence that learning to use them has become increasingly difficult for the user. “Self-help” documentation is a secondary medium of assistance and is usually not the most effective way to learn use of a complex application product, while “jump-start” user interfaces (UI) such as “wizards” are helpful only for creating simple instances of use of a product.
A software application product is developed in accordance with “design schemas” or models that are programmed to produce “instances” of the documents and other files or program artifacts (i.e., the data products) created when the application is actually used for a real purpose. Presenting a software programming model framework for creating example instances that are invoked as a starting point for use of the product through parameterization (i.e. “p-instances”) is simpler than revamping wizards and other UI features to reflect changes caused by evolving use of the product. Such a parameterization model framework allows software application developers to create “p-instances” utilizing graphical user interface (GUI) features and elements that allow users to create complex real instances of program use without completely mastering the application. Since a “p-instance” is a closer starting point to an actual instance than a wizard, it has the potential to allow users to achieve competence with the software application in less time than it would have otherwise taken to learn use of the software product with help documents and wizards.
Complex software applications require a different approach to parameterization than that used for simple applications, since textual “in place” substitutions (such as those used in working from an example “template” for a Microsoft Word® document file) are not suitable when there are multiple UI features or elements interacting with each other to produce and update documents or files or other program artifacts that may reference each other in ways that cause user actions to affect them in a complex and continuously evolving manner. The invention provides a mechanism for creating parameterization “tooling” (i.e. instructions) that can be used for producing “p-instances” in complex software applications.